Reengineering and Re-Architecting Legacy Accounting Software Product into SaaS
About Our Client
A manufacturer and distributor of accounting and payroll software, with over 35,000 customers. 48% of yearly sales are recommended by professionals in the industry, such as accountants and IT companies.
Challenge
The Client needed to move one of the software products that was developed in legacy technologies from desktop to a cloud-based web application on Azure. In total, there were about 400 views that needed to be re-implemented for the cloud.
Solution
Because of the absence of technical documentation, our business analyst carried out a deep and careful analysis of the existing product. He revealed business logic details, formulas for accounting calculations and documented them for the new system in the form of a complex graph. The graph represented each business object of the system and its connections to other objects. It included a detailed behavior description that was understandable for end users (UI), testing specialists (formulas, calculations, control behavior), as well as for developers (object to database mapping). The graph links all the tasks created on the project, which gives an opportunity to track all the operations ever done with a screen or a system module.
The new SaaS solution was developed based on a modular web-based stateless multi-tier architecture. It not only supported previous functionality but also gained new features. With a new system, customers received the opportunity to generate documents from templates and even to edit the template in the browser just with a mouse click. There were also introduced capabilities of online intercommunication with the banks (e-payments) and automated tax calculation (UK and Ireland systems of taxation for the time being). Another change in a new system was a redesign of the billing part of the product.
Legacy one used an old-fashioned license-key approach with a separate manual charging mechanism (registration over the phone, followed by payment transfer and only after that sending out the licensing key to the user). For our Azure solution, we chose a modern online subscription service (another SaaS product) and now a new customer can pay for the product via the application's portal.

An additional advantage brought by a new system was a powerful mechanism for registering the changes made in it. The user may easily create complex audit logs. Nontrivial architecture created by ScienceSoft allowed placing an audit log, which requires significant spaces for storage, not in an expensive Azure Database, but in low-cost AzureTable storage. This proposal of ScienceSoft helped to save a considerable amount of budget for our Client. Other benefits a new SaaS solution brought were:
- Possibility for centralized update and easy maintenance of the system.
- Having become web-based, the application is now customer-independent.
- Being a SaaS, the system serves as the single location for information storage and sharing within the organization.
Results
Thanks to close cooperation between the business analyst and development team, ScienceSoft managed to deliver a complete solution that meets all the requirements.
Due to laborious analytical work at all stages, it became possible to carry out the migration fast and exclude any bugs associated with functionality.
The developed system has been working 24/7 for a year now with 100% uptime.
Technologies and Tools
Migration: ExtJs, ASP.NET MVC 4.0, HTML+CSS, Azure, Entity Framework, Enterprise Library 5
Analysis: MS TFS 2010, Balsamiq Mockups, MS SharePoint, MS Visio
Backend: MS Azure (Relational DB, Cloud Services, Azure Storage), .NET 4.5, C#, Entity Framework, Enterprise Library 5, WCF
Testing: Unit tests on MS Test, Selenium WebDriver for UI Tests